//添加原型
Vue.prototype.$http=axios
//设置公共的请求路径
axios.defaults.baseURL="http://localhost:80"

//前置拦截器
//给axios请求添加一个前置拦截器   每次发起请求都先执行下面这个函数
//1 使用axios前置拦截器，让所有的请求都携带uToken
axios.interceptors.request.use(config=>{
    //携带token
    let uToken =  localStorage.getItem("token");
    if(uToken){//如果token有值  我就在请求头信息里添加一个教U-TOKEN的值
        config.headers['U-TOKEN']=uToken;
    }
    return config;
},error => {
    Promise.reject(error);
})


//后置拦截器
//2 使用axios后置拦截器，处理没有登录请求
axios.interceptors.response.use(result=>{
    let data = result.data;
    console.debug(data)
    console.log(data.success);
    console.log(data.message);
    //用户没有登录
    if(!data.success && data.message==="noUser") {
        alert("用户未登录!");
        location.href = "/login.html";
    }

    //后台redis用户过期了  清空localStorage里面的值
    if(!data.success&&data.message==="expireUser"){
        alert("登录已过期!");
        localStorage.removeItem("token");
        localStorage.removeItem("loginUser");
        location.href = "/login.html";
        return;

    }
    return result;
},error => {
    Promise.reject(error);
})


/**
 * 动态获取url地址?后端的参数，它会把参数封装成一个json对象
 * @returns {Object}
 */
function getParam() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); }
    }
    return theRequest;
}
